﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace MVCGenerator
{
    public class GridChoice
    {
        public GridChoice()
        {
            CanLinkedTableBeNull = false;
        }
        public String ColumnName { get; set; }
        public String PrimaryTable { get; set; }
        public String PrimaryKey { get; set; }
        public String DisplayColumnName { get; set; }
        public Searchable Searchable { get; set; }
        public bool CanLinkedTableBeNull { get; set; }

        //public String GetSelectList(Dictionary<String, UsableClass> Lst, String NamespaceName, List<EntityMapping> EntityMappingList, String ParentObjectName = "")
        //{
        //    StringBuilder sb = new StringBuilder();
        //    UsableClass uc = Lst[NamespaceName + "." + PrimaryTable];

        //    foreach (PublicProperty property in uc.Properties)
        //    {
        //        if (property.IsDisplayable)
        //        {
        //            if (property.Name == PrimaryKey)
        //            {
        //                sb.Append("SelectList( ");
        //                sb.Append("db.");
        //                foreach (EntityMapping EntityMapping in EntityMappingList)
        //                {
        //                    if (EntityMapping.ClassName == uc.Name)
        //                    {
        //                        sb.Append(EntityMapping.ClassSetName);
        //                        break;
        //                        //sb.Append("Applications");
        //                    }
        //                }

        //                sb.Append(@", """ + PrimaryKey + @""", """ + DisplayColumnName + @""" ");
        //                if (ParentObjectName.Length > 0)
        //                {
        //                    sb.Append(", " + ParentObjectName + "." + ColumnName);
        //                }
        //                sb.Append(")");
        //                break;
        //            }
        //        }
        //    }
        //    return sb.ToString();
        //}
    }


}
